package com.wxapp.common.constant.base;


import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author lgl
 */

public interface IBaseMapper<T> extends BaseMapper<T> {
    /**
     * TODO 批量插入数据库
     */
    void insertBatch(List entityList);

    /**
     * TODO 批量更新或者保存数据库   限制 如果更新必须是全部字段
     */
    void batchSaveOrUpdate(List<T> list);
    /**
     * TODO 批量更新数据库
     */
    void batchUpdate(@Param(Constants.LIST) List<T> list);

    /**
     * TODO 查询第一个
     */
    T selectFirst(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);

    /**
     * TODO 判断是否存在值
     */
    boolean isExist(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);

    /**
     * 批量添加
     */
    int insertBatchSomeColumn(List<T> entityList);
}
